package com.ruoyi.project.module.purchases.service;

import com.ruoyi.project.module.products.domain.Products;
import com.ruoyi.project.module.purchases.domain.Purchases;
import java.util.List;

/**
 * 国内采购 服务层
 * 
 * @author lcx
 * @date 2018-09-05
 */
public interface IPurchasesService 
{
	/**
     * 查询国内采购信息
     * 
     * @param id 国内采购ID
     * @return 国内采购信息
     */
	public Purchases selectPurchasesById(Integer id);
	
	/**
     * 查询国内采购列表
     * 
     * @param purchases 国内采购信息
     * @return 国内采购集合
     */
	public List<Purchases> selectPurchasesList(Purchases purchases, Integer state);

	/**
     * 新增国内采购
     * 
     * @param purchases 国内采购信息
     * @return 结果
     */
	public int insertPurchases(Purchases purchases);
	
	/**
     * 修改国内采购
     * 
     * @param purchases 国内采购信息
     * @return 结果
     */
	public int updatePurchases(Purchases purchases);
	/**
	 * @Author lcx
	 * @Date 2018/9/23 15:46
	 * 发往海外仓
	 */
	public int updatePurchasesOverseas(Purchases purchases);

	/*
	* 批量发往海外仓
	* */
	public int updatePurchases(String[] ids, Purchases purchases);
		
	/**
     * 删除国内采购信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deletePurchasesByIds(String ids);

	/*
	*	发往海外仓批量打印以及单个打印
	* */
	List <Purchases> selectProductAsPrintLabel(String ids);
	/**
	 * @Author lcx
	 * @Date 2018/9/11 10:04
	 * 查询 海外仓签收的 货物信息
	 */
    List<Purchases> selectPurchasesListAsEditReceived(Purchases purchases);

    /**
     * @Author lcx
     * @Date 2018/9/15 13:42
	 * 海外仓签收
     */
	int updatePurchasesAsReceived(Purchases purchases, String[] ids, String[] overseasReceiveQuantity);

	/*合计*/
    List<Purchases> selectSumCountPurchasesList(Purchases purchases, Integer state);
}
